<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Eder
 */
class TipoTarjetaDAO {
    
    var $className;
    
    public function __construct() {
        $this->className = 'TipoTarjetaDAO';
        LogUtil::info("class $this->className", "__construct");
    }

    public function __destruct() {
        LogUtil::info("class $this->className", "__destruct");
    }
    
    public function obtenerTipoTarjetas() {
        LogUtil::info("class $this->className", "obtenerTipoTarjetas");
        global $wpdb;  
        $tempTipoTarjetas = $wpdb->get_results('SELECT   id,
                                                    descripcion,
                                                    orden,
                                                    estado,
                                                    fecha 
                                            FROM 
                                                    wp_sisres_tipo_tarjeta'
                                          , ARRAY_A);

        $tipoTarjetas = array();
        $i = 0;
        if (!empty($tempTipoTarjetas)) {
            foreach ($tempTipoTarjetas as $tempTipoTarjeta) {
                $tipoTarjetas[$i++] = $this->cargarTipoTarjeta($tempTipoTarjeta);
            }
        }
        return $tipoTarjetas;
    }
    
    
     public function obtenerTipoTarjetasActivos() {
        LogUtil::info("class $this->className", "obtenerTipoTarjetasActivos");
        global $wpdb;  
        $tempTipoTarjetas = $wpdb->get_results('SELECT   id,
                                                    descripcion,
                                                    orden,
                                                    estado,
                                                    fecha 
                                            FROM 
                                                    wp_sisres_tipo_tarjeta 
                                            WHERE
                                                    estado = 1
                                            ORDER BY 
                                                    orden'
                                          , ARRAY_A);

        $tipoTarjetas = array();
        $i = 0;
        if (!empty($tempTipoTarjetas)) {
            foreach ($tempTipoTarjetas as $tempTipoTarjeta) {
                $tipoTarjetas[$i++] = $this->cargarTipoTarjeta($tempTipoTarjeta);
            }
        }
        return $tipoTarjetas;
    }
    
    public function obtenerTipoTarjetaPorId($id) {
        LogUtil::info("class $this->className", "obtenerTipoTarjetaPorId");
        global $wpdb;  
        $tempTipoTarjeta = $wpdb->get_row('SELECT   id,
                                                descripcion,
                                                orden,
                                                estado,
                                                fecha 
                                            FROM 
                                                wp_sisres_tipo_tarjeta 
                                            WHERE
                                                id = '.$id
                                          , ARRAY_A);
        $tipoTarjeta = $this->cargarTipoTarjeta($tempTipoTarjeta);
        return $tipoTarjeta;
    }
    
    public function guardarTipoTarjeta($tipoTarjeta){
        LogUtil::info("class $this->className", "guardarTipoTarjeta");
        global $wpdb; 
        $data_array = array(
            //'id' => $tipoTarjeta->id, 
            'codLolimsa' => $tipoTarjeta->codLolimsa, 
            'descripcion' => $tipoTarjeta->descripcion,  
            'orden' => $tipoTarjeta->orden,  
            'estado' => $tipoTarjeta->estado,  
            'fecha' => date("Y-m-d H:i:s",Util::obtenerHoraActualPeru())
                );
        $wpdb->insert('wp_sisres_tipo_tarjeta',$data_array);
        return $wpdb->insert_id;
    }
    
    public function actualizarTipoTarjeta($tipoTarjeta){
        LogUtil::info("class $this->className", "actualizarTipoTarjeta");
        global $wpdb; 
        $wpdb->query('UPDATE 
                            wp_sisres_tipo_tarjeta 
                        SET  
                            descripcion = "'. $tipoTarjeta->descripcion.'", 
                            orden = "'. $tipoTarjeta->orden.'",  
                            estado = "'. $tipoTarjeta->estado.'"
                        WHERE 
                            id = '. $tipoTarjeta->id);
        return true;
    }  
    
    private function cargarTipoTarjeta($tempTipoTarjeta){  
        LogUtil::info("class $this->className", "cargarTipoTarjeta");
        $tipoTarjeta = new TipoTarjeta();
        $tipoTarjeta->id = $tempTipoTarjeta['id'];       
        $tipoTarjeta->descripcion = $tempTipoTarjeta['descripcion'];  
        $tipoTarjeta->orden = $tempTipoTarjeta['orden'];  
        $tipoTarjeta->estado = $tempTipoTarjeta['estado'];  
        $tipoTarjeta->fecha = $tempTipoTarjeta['fecha'];  
        return $tipoTarjeta;
    }

}
?>
